package com.prs.crm.service;

import java.io.File;

import org.courser.ui.PaginationSupport;

import com.prs.crm.domain.SimpleFlowEntity;
import com.prs.crm.domain.flow.FlowVerifyDetail;
import com.prs.crm.domain.hr.Person;

/**
 * 简单审批服务
 * @author prs.chenzhi
 *
 * @param <K>
 */
public interface SimpleFlowService<K extends SimpleFlowEntity> extends BaseService<K>{

	void startFlow(K entity);
	
	void executeVerify(K entity,FlowVerifyDetail detail,Person exeutor,File file,String filename);
	
	/**
	 * 列出需要审核的任务
	 * @param page
	 * @param verifier
	 * @return
	 */
	PaginationSupport listProcessEntitys(PaginationSupport page,Person verifier);
	
	/**
	 * 列出指定状态的任务
	 * @param page
	 * @param verifier
	 * @param flowstatus
	 * @return
	 */
	PaginationSupport listFlowEntitys(PaginationSupport page,Person verifier,Integer[] flowstatus);
	

}
